home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Bank smakow / BankSmakow.air / BankSmakow.swf / scripts / mx / controls / Text.as < prev    next >
Text File  |  2009-12-16  |  6KB  |  182 lines

  1. package mx.controls
  2. {
  3.    import mx.core.UITextField;
  4.    import mx.core.mx_internal;
  5.    import mx.events.FlexEvent;
  6.    
  7.    use namespace mx_internal;
  8.    
  9.    public class Text extends Label
  10.    {
  11.       
  12.       mx_internal static const VERSION:String = "3.5.0.12683";
  13.        
  14.       
  15.       private var widthChanged:Boolean = true;
  16.       
  17.       private var lastUnscaledWidth:Number = NaN;
  18.       
  19.       public function Text()
  20.       {
  21.          super();
  22.          selectable = true;
  23.          truncateToFit = false;
  24.          addEventListener(FlexEvent.UPDATE_COMPLETE,updateCompleteHandler);
  25.       }
  26.       
  27.       private function measureUsingWidth(param1:Number) : void
  28.       {
  29.          var _loc6_:Boolean = false;
  30.          var _loc2_:Number = getStyle("paddingLeft");
  31.          var _loc3_:Number = getStyle("paddingTop");
  32.          var _loc4_:Number = getStyle("paddingRight");
  33.          var _loc5_:Number = getStyle("paddingBottom");
  34.          textField.validateNow();
  35.          textField.autoSize = "left";
  36.          if(!isNaN(param1))
  37.          {
  38.             textField.width = param1 - _loc2_ - _loc4_;
  39.             measuredWidth = Math.ceil(textField.textWidth) + UITextField.TEXT_WIDTH_PADDING;
  40.             measuredHeight = Math.ceil(textField.textHeight) + UITextField.TEXT_HEIGHT_PADDING;
  41.          }
  42.          else
  43.          {
  44.             _loc6_ = textField.wordWrap;
  45.             textField.wordWrap = false;
  46.             measuredWidth = Math.ceil(textField.textWidth) + UITextField.TEXT_WIDTH_PADDING;
  47.             measuredHeight = Math.ceil(textField.textHeight) + UITextField.TEXT_HEIGHT_PADDING;
  48.             textField.wordWrap = _loc6_;
  49.          }
  50.          textField.autoSize = "none";
  51.          measuredWidth += _loc2_ + _loc4_;
  52.          measuredHeight += _loc3_ + _loc5_;
  53.          if(isNaN(explicitWidth))
  54.          {
  55.             measuredMinWidth = DEFAULT_MEASURED_MIN_WIDTH;
  56.             measuredMinHeight = DEFAULT_MEASURED_MIN_HEIGHT;
  57.          }
  58.          else
  59.          {
  60.             measuredMinWidth = measuredWidth;
  61.             measuredMinHeight = measuredHeight;
  62.          }
  63.       }
  64.       
  65.       override public function set percentWidth(param1:Number) : void
  66.       {
  67.          if(param1 != percentWidth)
  68.          {
  69.             widthChanged = true;
  70.             invalidateProperties();
  71.             invalidateSize();
  72.          }
  73.          super.percentWidth = param1;
  74.       }
  75.       
  76.       override public function set explicitWidth(param1:Number) : void
  77.       {
  78.          if(param1 != explicitWidth)
  79.          {
  80.             widthChanged = true;
  81.             invalidateProperties();
  82.             invalidateSize();
  83.          }
  84.          super.explicitWidth = param1;
  85.       }
  86.       
  87.       private function updateCompleteHandler(param1:FlexEvent) : void
  88.       {
  89.          lastUnscaledWidth = NaN;
  90.       }
  91.       
  92.       override protected function childrenCreated() : void
  93.       {
  94.          super.childrenCreated();
  95.          textField.wordWrap = true;
  96.          textField.multiline = true;
  97.          textField.mouseWheelEnabled = false;
  98.       }
  99.       
  100.       override protected function commitProperties() : void
  101.       {
  102.          super.commitProperties();
  103.          if(widthChanged)
  104.          {
  105.             textField.wordWrap = !isNaN(explicitWidth) || !isNaN(explicitMaxWidth) || !isNaN(percentWidth);
  106.             widthChanged = false;
  107.          }
  108.       }
  109.       
  110.       override public function set maxWidth(param1:Number) : void
  111.       {
  112.          if(param1 != maxWidth)
  113.          {
  114.             widthChanged = true;
  115.             invalidateProperties();
  116.             invalidateSize();
  117.          }
  118.          super.maxWidth = param1;
  119.       }
  120.       
  121.       override protected function updateDisplayList(param1:Number, param2:Number) : void
  122.       {
  123.          var _loc7_:Boolean = false;
  124.          if(isSpecialCase())
  125.          {
  126.             _loc7_ = isNaN(lastUnscaledWidth) || lastUnscaledWidth != param1;
  127.             lastUnscaledWidth = param1;
  128.             if(_loc7_)
  129.             {
  130.                invalidateSize();
  131.                return;
  132.             }
  133.          }
  134.          var _loc3_:Number = getStyle("paddingLeft");
  135.          var _loc4_:Number = getStyle("paddingTop");
  136.          var _loc5_:Number = getStyle("paddingRight");
  137.          var _loc6_:Number = getStyle("paddingBottom");
  138.          textField.setActualSize(param1 - _loc3_ - _loc5_,param2 - _loc4_ - _loc6_);
  139.          textField.x = _loc3_;
  140.          textField.y = _loc4_;
  141.          if(Math.floor(width) < Math.floor(measuredWidth))
  142.          {
  143.             textField.wordWrap = true;
  144.          }
  145.       }
  146.       
  147.       override protected function measure() : void
  148.       {
  149.          var _loc1_:Number = NaN;
  150.          if(isSpecialCase())
  151.          {
  152.             if(!isNaN(lastUnscaledWidth))
  153.             {
  154.                measureUsingWidth(lastUnscaledWidth);
  155.             }
  156.             else
  157.             {
  158.                measuredWidth = 0;
  159.                measuredHeight = 0;
  160.             }
  161.             return;
  162.          }
  163.          if(!isNaN(explicitWidth))
  164.          {
  165.             _loc1_ = explicitWidth;
  166.          }
  167.          else if(!isNaN(explicitMaxWidth))
  168.          {
  169.             _loc1_ = explicitMaxWidth;
  170.          }
  171.          measureUsingWidth(_loc1_);
  172.       }
  173.       
  174.       private function isSpecialCase() : Boolean
  175.       {
  176.          var _loc1_:Number = getStyle("left");
  177.          var _loc2_:Number = getStyle("right");
  178.          return (!isNaN(percentWidth) || !isNaN(_loc1_) && !isNaN(_loc2_)) && isNaN(explicitHeight) && isNaN(percentHeight);
  179.       }
  180.    }
  181. }
  182.